#pragma warning disable 108
using System;
using System.Runtime.InteropServices;
using System.Collections.Generic;
using Cephei;
using Cephei.Generic;
using Cephei.QL.Math.Optimization;
using Cephei.QL.Math;
namespace Cephei.QL.Math.Interpolations
{
     // <summary> 
	// ! %SABR smile interpolation between discrete volatility points.
	// </summary>
    [Guid ("21E5FB0A-A942-4ce5-BF36-C602450ABCA4"),ComVisible(true)]
	public interface ISABRInterpolation : Cephei.QL.Math.IInterpolation
	{
		///////////////////////////////////////////////////////////////
        // Methods
        //
        
		 Double Alpha {get;}
        
		 Double Beta {get;}
        
		 QL.Math.Optimization.EndCriteria.TypeEnum EndCriteria {get;}
        
		 Double Expiry {get;}
        
		 Double Forward {get;}
        
		 Cephei.IVector<Double> InterpolationWeights {get;}
        
		 Double MaxError {get;}
        
		 Double Nu {get;}
        
		 Double Rho {get;}
        
		 Double RmsError {get;}
    }

    // <summary> 
	// ! %SABR smile interpolation between discrete volatility points. Factory
	// </summary>
   	[ComVisible(true)]
    public interface ISABRInterpolation_Factory // : Collection_Factory<ISABRInterpolation, ICell<ISABRInterpolation>>
    {
        ///////////////////////////////////////////////////////////////
        // Factory methods
        //
    }
}

